package com.easipass.framework.eirframeworkcoredsl;

public class SinkDestinationNode extends AstNode {

    private final DestinationNode destinationNode;

    public SinkDestinationNode(DestinationNode destinationNode, int startPos) {
        super(startPos, destinationNode.endPos);
        this.destinationNode = destinationNode;
    }

    @Override
    public String stringify(boolean includePositionalInfo) {
        return ">" + destinationNode.stringify(includePositionalInfo);
    }

    @Override
    public void accept(Visitor visitor) {
        if (visitor.preVisit(this)) {
            visitor.visit(this);
            visitor.postVisit(this);
        }
    }

    @Override
    public String toString() {
        return " > " + destinationNode.toString();
    }

    public DestinationNode getDestinationNode() {
        return destinationNode;
    }

    public String getDestinationName() {
        return destinationNode.getDestinationName();
    }

    public SinkDestinationNode copyOf() {
        return new SinkDestinationNode(destinationNode.copyOf(), super.startPos);
    }

}
